// state  actions mutations getters modules

import Vue from 'vue'
import Vuex from 'vuex'
// 把vuex装入到vue中 vuex就是vue的插件
Vue.use(Vuex)

import { INCR_COUNT } from "./constant";

export default new Vuex.Store({
  // 统一状态数据源  可以是解所有的vue组件中的数据都可以存储在这里，当前此处只是一个临时，刷新
  state: {
    count: 100
  },
  // 类似于计算属性
  getters: {
    getCount(state) {
      return state.count + ' 万(W)'
    }
  },
  // 同步处理的方法，它会直接操作state数据源
  mutations: {
    // 此处的名称要和commit参数1的名称要一致
    // 如果是一个变量，要想转为字符串，需要使用[]括起来就可以了
    [INCR_COUNT](state, payload) {
      state.count += payload
    }
  }
})
